It has been common practice for many years to store large quantities of digital data on magnetic disks. Typically these disks comprise plastic or metallic disks coated on both sides with a magnetic material. The magnetic material may be caused to take on either of two orientations by passing a current through a write head located in close proximity to the disk. A current will be induced in a read head when the thus encoded portion of the magnetic media passes under the head during a read operation. In this way data can be stored on a magnetic disk and recalled later for processing by a computer.
A common practice is to stack a plurality of such magnetic disks one above the other on a common axis, and to spin the stack continuously by a motor controlled to keep the rotational speed of the stack of disks constant. A plurality of read/write heads are juxtaposed closely to the surfaces of the disks and are driven radially in and out with respect to the disks by motors so that substantially the entire surface of the disk is available for storage. It is necessary in order that data can be reliably stored and retrieved from the magnetic disk storage media that it be possible to determine exactly where the read/write head is with respect to the disk, at any given time. Several different prior art approaches have been tried to this problem. The most popular approach currently, referred to as "rotational position sensing", is to provide one surface of the lowermost of the stack of disks with permanently encoded position information--that is, to provide a "dedicated" disk surface--from which a signal can be derived indicating both the radial position of the head with respect to the axis of the disks and also the relative rotational position of the disks with respect to the head. Given these two pieces of information, by accessing one of the plurality of read/write heads, any point on any disk can be written to or read from with accuracy. This approach has the additional advantage that the speed of the disk can be allowed to vary within relatively wide limits (for example, .+-.2%) since the detection of position information on a dedicated disk will automatically mean that the other heads of the array will be located over the same part of the other disks--that is, the position information is self-servoing. In order that the dedicated disk surface can contain rotational position information, the circuitry involved is further complicated. Complex means must additionally be provided to ensure proper timing of the read/write operations, which generally require elaborate phase-locked-loop circuitry for write frequency control, to ensure linear bit density independent of actual rotational speed.
Other possibilities for detection of an address mark on the disk surface to be read include the concept of writing a series of blanks ("DC erased areas") on the disk. Inasmuch as ordinarily the entire surface of a disk is written, this is suitable to generate an address mark. However, it is difficult to tell a purposely written blank from one induced by error or mischance as the low signal level can easily be confused with noise.
Another possibility is to encode a pattern of data which will not naturally occur in the storage of data during a write stage and "look at" successive segments of data for coincidence upon search for this address mark. This technique is used in floppy disk technologies. However, it poses a significant difficulty in that there are no patterns of data which could not conceivably occur within a data field; therefore, unless certain data patterns are to be forbidden, which is undesirable, the recording technique used for an address mark must be a violation of the recording "rules", which necessitates additional circuit complexity. Both the blank space and the floppy disk approaches may be characterized as searching for coincidence between a stored pattern and a sought-for pattern, and suffer due to errors in either the disk or the main memory where the compared data is stored.
A problem of particular gravity occurs with any recordation scheme involving address marks written onto the same disk as data (as opposed to a system in which the address marks are permanently coded on a dedicated disk surface), and more particularly in systems wherein the same disk surface is repeatedly written, read, and erased, as is increasingly the case in the use of disk drives as virtual storage systems to expand the main memory of computers. The problem is due to the fact that even if the disk is divided into areas of the same length for each storage operation, as is usual, the inevitable variation in speed between one writing operation and the next will mean that the amount of space taken up by a record written at a set bit frequency onto a disk will vary as the speed of the disk varies. Therefore, it is essential that some space be left between succeeding records written onto a given disk, so that writing of a first record does not inadvertently cause erasure of the next. However, this alone does not solve the problem because one can never be sure that all previous data has been erased, so that random data may occur between records. Accordingly, it is not always possible to define the start and end of a given record with precision, due to the presence of previously recorded data. Even more difficulty is caused by the fact that if two records are written onto the same area of a disk, the patterns may coact to produce an unpredictable data pattern which may conceivably be mistaken for a predetermined address mark being sought. These phenomena are referred to as "splash". It will be recognized by those skilled in the art that in order to provide a completely reliable address mark detection scheme, it must be assumed that "splash" is capable of producing any data pattern. However, one can assume safely that any given "splash" region has a maximum possible length, this length being defined by the amount of variation in rotational speed of the disk permitted, since the writing of new records of fixed length over old data can be presumed to erase all such old data. Hence, the possible location of splash is defined to be at the ends of new records.
A final point which must be considered in the design of any address mark detection scheme is that it cannot be permitted to fail upon the occurrence of drop-ins or drop-outs; that is, it must be infallible upon addition or deletion of at least some presumed worst-case number of data pulses from any predetermined address pattern, since this is to some degree inevitable with any magnetic data recording system.